# 最小化修复脚本 - 直接修复第1849行的语法错误
import os
import re

# 文件路径
file_path = r'd:\未知\yolo_apply\video_processing\video_processor.py'
backup_file = r'd:\未知\yolo_apply\video_processing\video_processor.py.backup'

# 读取备份文件
with open(backup_file, 'r', encoding='utf-8', newline='') as f:
    content = f.read()

# 使用正则表达式找到并替换问题代码块
# 查找包含注释和后续几行的代码块
pattern = r'# 错误率过高时触发警告和恢复\s+.*?\s+.*?\s+.*?\s+.*?\s+.*?\s+.*?\s+error_count = 0'

# 定义替换的代码块
replacement = '''# 错误率过高时触发警告和恢复\n                current_time = time.time()\n                if error_count > 10 and (current_time - last_error_time > 30):\n                    logger.warning("处理错误率过高: " + str(self.camera_id) + ", 最近错误数: " + str(error_count))\n                    if hasattr(self, "_handle_error"):\n                        self._handle_error(Exception("30秒内出现" + str(error_count) + "个错误"), "high_error_rate")\n                    last_error_time = current_time\n                    error_count = 0'''

# 执行替换
new_content = re.sub(pattern, replacement, content, flags=re.DOTALL)

# 确保使用正确的行尾字符
new_content = new_content.replace('\r\n', '\n').replace('\r', '\n')

# 写入修复后的文件
with open(file_path, 'w', encoding='utf-8', newline='\n') as f:
    f.write(new_content)

print(f"已使用正则表达式和标准化行尾字符修复了 {file_path} 文件")
print("现在让我们再次尝试编译...")